// 入口文件 
// 只用来加载模块  处理文件
var path = require('path')
var express = require('express')
var fs = require('fs')
var app = express();
var mongoose = require('mongoose')
var session = require('express-session')


// 连接数据库
mongoose.connect("mongodb://localhost/test", {
    useNewUrlParser: true
})

// 链接异常
mongoose.connection.on('error', function(err) {
    console.log('Mongoose connection error:' + err);

});

// 加载router模块文件
var router_r = require('./router/router.js')
// var usersRouter = require('./router/users.js')

// 托管静态文件
app.use('/node_modules', express.static(path.join(__dirname, 'node_modules')))
app.use('/public', express.static(path.join(__dirname, 'public')))
// 用art-template模板  在views目录下面的文件以后缀名html结尾的都可以使用
app.engine('art', require('express-art-template'))
// 使用session实例化
app.use(session({
    // 用对session cookie签名，防止篡改
    secret: 'curd',
    saveUninitialized: true,
    // 这里的name是cookie的name
    name: 'user',
    //设置maxAge是80000ms，即80s后session和相应的cookie失效过期
    /* cookie: {
         maxAge: 800000000000000000
     },*/
    // 强制保存session即使它并没有变化 （默认： true）
    resave: false
}))
// 假如没有session就是没有注册 就跳转到登录页面 不能执行下面的路由
/*app.use(function(req, res, next) {
    console.log(req.session.views + 'jk')
    if (!req.session.views && req.path !== '/login' && req.path !== '/reg') {
        res.redirect('/login')
    }
    next()
})*/

// app.use(usersRouter);
// 使用路由
app.use(router_r);
// 配置一个错误处理中间件 找不到页面 必须放在最后
app.use(function(req, res, ) {
    res.send('404.art')
})
// 全局错误500的中间件
app.use(function(err, req, res, next) {
    res.status(500).json({
        msg: err.message
    })
})



app.listen(8082, function() {
    console.log('响应成功！')
})